# $Id$
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd <jvinet@zeroflux.org> 

pkgname=bzip2
pkgver=1.0.6
pkgrel=6
pkgdesc="A high-quality data compression program"
arch=('i686' 'x86_64')
license=('custom')
url="http://sources.redhat.com/bzip2"
groups=('base')
depends=('glibc' 'sh')
source=(http://www.bzip.org/$pkgver/bzip2-$pkgver.tar.gz
        bzip2-1.0.4-bzip2recover.patch
        fix-heap-use-after-free-bzip2recover.patch::https://bugzilla.redhat.com/attachment.cgi?id=1169843)
sha1sums=('3f89f861209ce81a6bab1fd1998c0ef311712002'
          '85ce76fdb67f52f152bba368c1de81132dcdbdb5'
          '9c078e00cc9103952d6117e23199c232e9ff56bc')

build() {
  cd "$srcdir/$pkgname-$pkgver"

  # add large-file support
  sed -e 's/^CFLAGS=\(.*\)$/CFLAGS=\1 \$(BIGFILES)/' -i ./Makefile-libbz2_so

  # use our optimization
  sed -i "s|-O2|${CFLAGS}|g" Makefile
  sed -i "s|-O2|${CFLAGS}|g" Makefile-libbz2_so

  patch -Np1 < ../bzip2-1.0.4-bzip2recover.patch
  patch -Np1 -i "${srcdir}/fix-heap-use-after-free-bzip2recover.patch"

  make -f Makefile-libbz2_so
  make bzip2 bzip2recover
}

check() {
  cd "$srcdir/$pkgname-$pkgver"
  make test
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  install -dm755 $pkgdir/usr/{bin,lib,include,share/man/man1}

  install -m755 bzip2-shared $pkgdir/usr/bin/bzip2
  install -m755 bzip2recover bzdiff bzgrep bzmore $pkgdir/usr/bin
  ln -sf bzip2 $pkgdir/usr/bin/bunzip2
  ln -sf bzip2 $pkgdir/usr/bin/bzcat

  install -m755 libbz2.so.1.0.6 $pkgdir/usr/lib
  ln -s libbz2.so.1.0.6 $pkgdir/usr/lib/libbz2.so
  ln -s libbz2.so.1.0.6 $pkgdir/usr/lib/libbz2.so.1
  ln -s libbz2.so.1.0.6 $pkgdir/usr/lib/libbz2.so.1.0

  install -m644 bzlib.h $pkgdir/usr/include/

  install -m644 bzip2.1 $pkgdir/usr/share/man/man1/
  ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bunzip2.1
  ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bzcat.1
  ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bzip2recover.1

  install -Dm644 $srcdir/${pkgname}-${pkgver}/LICENSE \
                 $pkgdir/usr/share/licenses/${pkgname}/LICENSE
}
